1. Field of the Invention
The present invention relates to a communication distribution controlling method, and more particularly, to a communication distribution controlling method and apparatus with which a server that receives a communication connection request from a client side distributes the communication to any of a plurality of different servers, for example, on the Internet.
2. Description of the Related Art
The present invention targets a communications system having, for example, an object request broker (ORB) mechanism. The ORB is a mechanism for making a method or function call between computers, namely, nodes in a distributed computing environment, and is used in a standard communications channel between distributed objects. This standard is an industry standard set by an object management group (OMG), and is adopted by a variety of vendors.
The ORB is a method with which a client request is conveyed to an object, which object is made to perform an operation corresponding to the requests, and returns a result of the operation to the client.
FIG. 13 exemplifies a conventional CORBA communication method using HTTP tunneling, with which a client requests a CORBA application (AP) server where a process by an object is performed to execute a process, and receives a result of the process as described above.
FIG. 13 assumes that a personal computer (PC) 101 that requests a process, and a CORBA AP server 104a that executes the requested process, are connected via the Internet.
Normally, a communication using IIOP (Internet Inter-ORB Protocol), which is a communications protocol between objects on TCP/IP and laid down by the OMG, is the most efficient communication between a PC on a client side and a CORBA application server. Even if a program executed by a client and one executed by a remote server are written in different languages, the client can communicate with the remote server.
However, when a communication is made between a client and a CORBA AP server via the Internet, the HTTP tunneling, which converts a protocol of the communication into IIOP protocol and makes a communication, must be normally used. Normally, the PC 101 must perform protocol conversion from IIOP to HTTP, and a relay server at a stage preceding the CORBA AP server 104a must perform protocol conversion from HTTP to IIOP.
FIG. 13 assumes that the PC 101 on the client side requests the CORBA AP server 104a to execute a process corresponding to one session, that is, communications transactions. The transactions of one session are composed of, for example, four stages ((1) to (4), FIG. 13), in each of which a communication for receiving a process request to the CORBA AP server 104a, and a reply to the request, becomes necessary. This communication is assumed to be intermittently made between the PC 101 and the CORBA AP server 104a in each of the stages.
The PC 101 on the client side provides a relay Web server 102 on the client side with a communication connection and process request (1) in the first stage, which is made to the CORBA AP server 104a, via a connection 105a at the start of a session. The relay Web server 102 selects any of a plurality of different Web servers on the CORBA AP server side, which can relay the communication to the CORBA AP server 104a, and transmits the request (1) to the selected different Web server, 103a in this case, via a connection 106a. This request is provided from the different Web server 103a to the CORBA AP server 104a.
Upon termination of the process on the CORBA AP server 104a side, its result is provided as a reply (1) to the PC 101 via the different Web server 103a, the connection 106a, the relay Web server 102, and the connection 105a. The connection between the relay Web server 102 and the different Web server 103a is released after the reply is completed.
Thereafter, when a communication connection and process request (2) in the second stage is provided from the PC 101 to the relay Web server 102 via a connection 105b within the session on the client side, the relay Web server 102 again selects any of the plurality of different Web servers 103a to 103n, which can relay the communication to the CORBA AP server 104a (103n in this example), and provides the selected different Web server with the request (2) via a connection 106b. The request (2) is then provided from the selected different Web server to the CORBA AP server 104a. 
As described above, with the conventional CORBA communication method using the HTTP tunneling, a connection between a relay Web server and a different Web server at a stage preceding a CORBA AP server is released upon completion of a reply to a request from a client. Therefore, even a communication within the same session from the same client cannot be made via the same different Web server, and additional time to establish a connection is required for each communication. Furthermore, a communication for returning a reply must be distributed also on a CORBA AP server side, leading to degradation in response performance.
As described above, with the conventional CORBA communication method using the HTTP tunneling, a connection between a relay Web server and a different Web server at a stage preceding a CORBA AP server is released upon completion of a reply to a request from a client. Therefore, even a communication within the same session from the same client cannot be made via the same different Web server, and a time to establish a connection is required for each communication. Furthermore, a communication for returning a reply must be distributed also on a CORBA AP server side, leading to degradation in response performance.